// 导入createApi和fetchBaseQuery函数，用于创建API切片和基础查询
import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";

// 配置基础查询，包括设置基础URL和准备请求头
const baseQuery = fetchBaseQuery({
  // 此处留空基础URL，根据项目实际情况进行配置
  baseUrl: "",
  prepareHeaders(headers) {
    // 从本地存储中获取用户信息，如果存在则解析，否则设为null
    const userData = localStorage.getItem("userInfo")
      ? JSON.parse(localStorage.getItem("userInfo"))
      : null;
    // 提取用户信息中的token
    const token = userData?.token;
    // 如果token存在，则在请求头中设置authorization字段，使用Bearer认证
    if (token) {
      headers.set("authorization", `Bearer ${token}`);
    }
    // 返回处理后的请求头
    return headers;
  },
});

// 创建并导出API切片，配置基础查询、标签类型和端点
export const apiSlice = createApi({
  // 使用上面配置的基础查询
  baseQuery,
  // 定义标签类型，用于状态管理
  tagTypes: "User",
  // 当前没有定义任何端点，根据实际需要添加
  endpoints: (builder) => ({}),
});